#ifndef OHOS_SHARING_WFD_SINK_MANAGER_H
#define OHOS_SHARING_WFD_SINK_MANAGER_H

#include "wfd_sink.h"

namespace OHOS {
namespace Sharing {
  class WfdSinkManager {
    public:
      // 删除拷贝构造函数和赋值操作符，防止复制单例实例
      WfdSinkManager(const WfdSinkManager&) = delete;
      WfdSinkManager& operator=(const WfdSinkManager&) = delete;

      // 提供全局访问点
      static WfdSinkManager& getInstance() {
        static WfdSinkManager instance;
        return instance;
      }

      // 获取WfdSink的shared_ptr
      std::shared_ptr<WfdSink>& getWfdSink() {
        return nativeWfdSink_;
      }

    private:
      // 私有构造函数
      WfdSinkManager() {}

      // 持有WfdSink的shared_ptr
      std::shared_ptr<WfdSink> nativeWfdSink_;
  };   
} // namespace Sharing
} // namespace OHOS
#endif